

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
    <style>
    /* base */
    html,
    body,
    .container {
      width: 100%;
      height: 100%;
    }

    a,
    a:link,
    a:visited {
      text-decoration: none;
      color: inherit;
    }

    ul {
      list-style: none;
    }

    *,
    ::before,
    ::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    *:focus {
      outline: 0;
    }

    .container {
      display: flex;
      padding-top: 20px;
    }

    /* Nav */
    .container .doc-nav {
      position: fixed;
      height: 100%;
      margin: 0 30px 0 40px;
      width: 280px;
    }

    .doc-nav .nav-header {
      display: flex;
      align-items: center;
      box-sizing: border-box;
      background-color: rgb(240, 241, 242);
      height: 40px;
      padding: 16px;
      font-size: 18px;
      font-weight: 500;
      color: rgb(62, 64, 66);
      cursor: pointer;
    }

    .doc-nav .nav-content {
      height: calc(100% - 40px);
      overflow-y: auto;
      color: rgb(32, 34, 36);
    }

    .doc-nav .nav-content .nav-list,
    .doc-nav .nav-content .nav-sub-list {
      line-height: 1.5rem;
    }

    .doc-nav .nav-content .nav-label {
      display: inline-block;
      position: relative;
      padding: 2px 0 2px 20px;
      margin-bottom: 4px;
    }

    .doc-nav .nav-content .nav-sub-label {
      position: relative;
      padding: 2px 0 2px 40px;
      font-size: 14px;
    }

    .doc-nav .nav-content .nav-sub-label:hover {
      text-decoration: underline;
    }

    .doc-nav .nav-content .nav-list .nav-label.group::before {
      border-bottom: 0.25rem solid transparent;
      border-left: 0.25rem solid #6e7072;
      border-right: 0;
      border-top: 0.25rem solid transparent;
      content: '';
      display: block;
      height: 0;
      left: 0.5rem;
      position: absolute;
      top: 0.625rem;
      transition: transform 0.1s linear;
      width: 0;
    }

    .doc-nav .nav-content .nav-list .nav-label.group.active::before {
      transform: rotate(90deg);
    }

    /* doc content */
    .container .doc-content {
      position: fixed;
      height: 100%;
      width: calc(100% - 80px - 40px - 30px - 240px);
      right: 0%;
      overflow-y: auto;
    }

    .doc-title {
      border-bottom: 1px solid #dcdee0;
      font-size: 22px;
      margin: 8px 0 0;
      padding-bottom: 16px;
    }

    .doc-content h3 {
      font-size: 24px;
      font-weight: 600;
      margin: 24px 0;
    }

    .doc-content h4 {
      font-size: 22px;
      font-weight: 500;
      margin: 30px 0 8px;
    }

    .doc-content h4 span {
      color: #007d9c;
    }

    .doc-content .doc-declare {
      background-color: #fafafa;
      border-radius: 5px;
      border: 1px solid #ccc;
      font-size: 14px;
      overflow-x: auto;
      padding: 10px;
      tab-size: 4;
      line-height: 20px;
    }

    .doc-content .doc-comment {
      font-size: 16px;
      margin: 16px 0;
      line-height: 24px;
      word-break: break-word;
    }
  </style>

</head>
<body>
  <div class="container">
    <div class="doc-nav">
      <a href="#Documentation" class="nav-header">Documentation</a>
      <nav class="nav-content">
        <ul class="nav-list">
          <li>
            <a href="#includes" class="nav-label">Includes</a>
             
            <ul class="nav-sub-list">

              <li>
                <a href="#tuya_cloud_types.h" class="nav-sub-label">tuya_cloud_types.h</a>
              </li>
      

              <li>
                <a href="#fsl_sss_ftr.h" class="nav-sub-label">fsl_sss_ftr.h</a>
              </li>
      

              <li>
                <a href="#fsl_sss_ftr_default.h" class="nav-sub-label">fsl_sss_ftr_default.h</a>
              </li>
      

              <li>
                <a href="#YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE" class="nav-sub-label">YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE</a>
              </li>
      

              <li>
                <a href="#YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE" class="nav-sub-label">YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_USER_CONFIG_FILE" class="nav-sub-label">MBEDTLS_USER_CONFIG_FILE</a>
              </li>
      
            </ul>
            
          </li>
          <li>
            <a href="#macros" class="nav-label">Macros</a>
             
            <ul class="nav-sub-list">

              <li>
                <a href="#MBEDTLS_CONFIG_H_TY_ECC_ONLY" class="nav-sub-label">MBEDTLS_CONFIG_H_TY_ECC_ONLY</a>
              </li>
      

              <li>
                <a href="#TUYA_ECP_MUL_COMB_ROM_TABLES" class="nav-sub-label">TUYA_ECP_MUL_COMB_ROM_TABLES</a>
              </li>
      

              <li>
                <a href="#_CRT_SECURE_NO_DEPRECATE" class="nav-sub-label">_CRT_SECURE_NO_DEPRECATE</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_CIPHER_MODE_CTR" class="nav-sub-label">MBEDTLS_CIPHER_MODE_CTR</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_CTR_DRBG_C" class="nav-sub-label">MBEDTLS_CTR_DRBG_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_ENTROPY_C" class="nav-sub-label">MBEDTLS_ENTROPY_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_PK_WRITE_C" class="nav-sub-label">MBEDTLS_PK_WRITE_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_PEM_PARSE_C" class="nav-sub-label">MBEDTLS_PEM_PARSE_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED" class="nav-sub-label">MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_ASN1_WRITE_C" class="nav-sub-label">MBEDTLS_ASN1_WRITE_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_ECDSA_C" class="nav-sub-label">MBEDTLS_ECDSA_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_PLATFORM_MEMORY" class="nav-sub-label">MBEDTLS_PLATFORM_MEMORY</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_DEPRECATED_WARNING" class="nav-sub-label">MBEDTLS_DEPRECATED_WARNING</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_AES_ROM_TABLES" class="nav-sub-label">MBEDTLS_AES_ROM_TABLES</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_AES_FEWER_TABLES" class="nav-sub-label">MBEDTLS_AES_FEWER_TABLES</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_CIPHER_MODE_CBC" class="nav-sub-label">MBEDTLS_CIPHER_MODE_CBC</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_CIPHER_PADDING_PKCS7" class="nav-sub-label">MBEDTLS_CIPHER_PADDING_PKCS7</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS" class="nav-sub-label">MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN" class="nav-sub-label">MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_CIPHER_PADDING_ZEROS" class="nav-sub-label">MBEDTLS_CIPHER_PADDING_ZEROS</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_REMOVE_ARC4_CIPHERSUITES" class="nav-sub-label">MBEDTLS_REMOVE_ARC4_CIPHERSUITES</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_ECP_DP_SECP256R1_ENABLED" class="nav-sub-label">MBEDTLS_ECP_DP_SECP256R1_ENABLED</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_ECP_NIST_OPTIM" class="nav-sub-label">MBEDTLS_ECP_NIST_OPTIM</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED" class="nav-sub-label">MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES" class="nav-sub-label">MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_NO_PLATFORM_ENTROPY" class="nav-sub-label">MBEDTLS_NO_PLATFORM_ENTROPY</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_PKCS1_V15" class="nav-sub-label">MBEDTLS_PKCS1_V15</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_PKCS1_V21" class="nav-sub-label">MBEDTLS_PKCS1_V21</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SSL_ALL_ALERT_MESSAGES" class="nav-sub-label">MBEDTLS_SSL_ALL_ALERT_MESSAGES</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SSL_ENCRYPT_THEN_MAC" class="nav-sub-label">MBEDTLS_SSL_ENCRYPT_THEN_MAC</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SSL_EXTENDED_MASTER_SECRET" class="nav-sub-label">MBEDTLS_SSL_EXTENDED_MASTER_SECRET</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SSL_PROTO_TLS1_2" class="nav-sub-label">MBEDTLS_SSL_PROTO_TLS1_2</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SSL_SESSION_TICKETS" class="nav-sub-label">MBEDTLS_SSL_SESSION_TICKETS</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SSL_SERVER_NAME_INDICATION" class="nav-sub-label">MBEDTLS_SSL_SERVER_NAME_INDICATION</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_X509_CHECK_KEY_USAGE" class="nav-sub-label">MBEDTLS_X509_CHECK_KEY_USAGE</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE" class="nav-sub-label">MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_X509_RSASSA_PSS_SUPPORT" class="nav-sub-label">MBEDTLS_X509_RSASSA_PSS_SUPPORT</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_AES_C" class="nav-sub-label">MBEDTLS_AES_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_ASN1_PARSE_C" class="nav-sub-label">MBEDTLS_ASN1_PARSE_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_BASE64_C" class="nav-sub-label">MBEDTLS_BASE64_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_BIGNUM_C" class="nav-sub-label">MBEDTLS_BIGNUM_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_CCM_C" class="nav-sub-label">MBEDTLS_CCM_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_CIPHER_C" class="nav-sub-label">MBEDTLS_CIPHER_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_ECDH_C" class="nav-sub-label">MBEDTLS_ECDH_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_ECP_C" class="nav-sub-label">MBEDTLS_ECP_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_GCM_C" class="nav-sub-label">MBEDTLS_GCM_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_MD_C" class="nav-sub-label">MBEDTLS_MD_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_MD5_C" class="nav-sub-label">MBEDTLS_MD5_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_OID_C" class="nav-sub-label">MBEDTLS_OID_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_PK_C" class="nav-sub-label">MBEDTLS_PK_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_PK_PARSE_C" class="nav-sub-label">MBEDTLS_PK_PARSE_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_PKCS5_C" class="nav-sub-label">MBEDTLS_PKCS5_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_PKCS12_C" class="nav-sub-label">MBEDTLS_PKCS12_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_PLATFORM_C" class="nav-sub-label">MBEDTLS_PLATFORM_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_RSA_C" class="nav-sub-label">MBEDTLS_RSA_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SHA1_C" class="nav-sub-label">MBEDTLS_SHA1_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SHA256_C" class="nav-sub-label">MBEDTLS_SHA256_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SHA512_C" class="nav-sub-label">MBEDTLS_SHA512_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SSL_CLI_C" class="nav-sub-label">MBEDTLS_SSL_CLI_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SSL_TLS_C" class="nav-sub-label">MBEDTLS_SSL_TLS_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_VERSION_C" class="nav-sub-label">MBEDTLS_VERSION_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_X509_USE_C" class="nav-sub-label">MBEDTLS_X509_USE_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_X509_CRT_PARSE_C" class="nav-sub-label">MBEDTLS_X509_CRT_PARSE_C</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_MPI_WINDOW_SIZE" class="nav-sub-label">MBEDTLS_MPI_WINDOW_SIZE</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_MPI_MAX_SIZE" class="nav-sub-label">MBEDTLS_MPI_MAX_SIZE</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_ECP_MAX_BITS" class="nav-sub-label">MBEDTLS_ECP_MAX_BITS</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SSL_MAX_CONTENT_LEN" class="nav-sub-label">MBEDTLS_SSL_MAX_CONTENT_LEN</a>
              </li>
      

              <li>
                <a href="#MBEDTLS_SSL_MAX_CONTENT_LEN" class="nav-sub-label">MBEDTLS_SSL_MAX_CONTENT_LEN</a>
              </li>
      
            </ul>
            
          </li>
          <li>
            <a href="#functions" class="nav-label">Functions</a>
            
            <ul class="nav-sub-list">
            
            </ul>
            
          </li>
          <li>
            <a href="#vars" class="nav-label">Vars</a>
            
            <ul class="nav-sub-list">
            
            </ul>
            
          </li>
          <li>
            <a href="#consts" class="nav-label">Consts</a>
            
            <ul class="nav-sub-list">
            
            </ul>
            
          </li>
          <li>
            <a href="#types" class="nav-label">Types</a>
            
            <ul class="nav-sub-list">
            
            </ul>
            
          </li>
          <li>
            <a href="#typedefs" class="nav-label">Typedefs</a>
            
            <ul class="nav-sub-list">
            
            </ul>
            
          </li>
        </ul>
      </nav>
    </div>
    <div class="doc-content">
      <h2 id="Documentation" class="doc-title">Documentation</h2>
      <h3 id="includes">Includes</h3>
      

      <h4 id="tuya_cloud_types.h"><span>tuya_cloud_types.h</span></h4>
      <pre class="doc-declare"><code>#include "tuya_cloud_types.h"
</code></pre>
      <pre class="doc-comment">#include "tuya_cloud_types.h"
</pre>

      <h4 id="fsl_sss_ftr.h"><span>fsl_sss_ftr.h</span></h4>
      <pre class="doc-declare"><code>#include "fsl_sss_ftr.h"
</code></pre>
      <pre class="doc-comment">#include "fsl_sss_ftr.h"
</pre>

      <h4 id="fsl_sss_ftr_default.h"><span>fsl_sss_ftr_default.h</span></h4>
      <pre class="doc-declare"><code>#include "fsl_sss_ftr_default.h"
</code></pre>
      <pre class="doc-comment">#include "fsl_sss_ftr_default.h"
</pre>

      <h4 id="YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE"><span>YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE</span></h4>
      <pre class="doc-declare"><code>#include YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE
</code></pre>
      <pre class="doc-comment">#include YOTTA_CFG_MBEDTLS_TARGET_CONFIG_FILE
</pre>

      <h4 id="YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE"><span>YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE</span></h4>
      <pre class="doc-declare"><code>#include YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE
</code></pre>
      <pre class="doc-comment">#include YOTTA_CFG_MBEDTLS_USER_CONFIG_FILE
</pre>

      <h4 id="MBEDTLS_USER_CONFIG_FILE"><span>MBEDTLS_USER_CONFIG_FILE</span></h4>
      <pre class="doc-declare"><code>#include MBEDTLS_USER_CONFIG_FILE
</code></pre>
      <pre class="doc-comment">#include MBEDTLS_USER_CONFIG_FILE
</pre>
      <h3 id="macros">Macros</h3>
      

      <h4 id="MBEDTLS_CONFIG_H_TY_ECC_ONLY">Marco <span>MBEDTLS_CONFIG_H_TY_ECC_ONLY</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_CONFIG_H_TY_ECC_ONLY
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="TUYA_ECP_MUL_COMB_ROM_TABLES">Marco <span>TUYA_ECP_MUL_COMB_ROM_TABLES</span></h4>
      <pre class="doc-declare"><code>#define TUYA_ECP_MUL_COMB_ROM_TABLES 1	//使用ROM代替RAM
</code></pre>
      <pre class="doc-comment">//#define TUYA_ECP_MUL_COMB_OPTIM 1			//打开ECP点乘优化</pre>

      <h4 id="_CRT_SECURE_NO_DEPRECATE">Marco <span>_CRT_SECURE_NO_DEPRECATE</span></h4>
      <pre class="doc-declare"><code>#define _CRT_SECURE_NO_DEPRECATE 1
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_CIPHER_MODE_CTR">Marco <span>MBEDTLS_CIPHER_MODE_CTR</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_CIPHER_MODE_CTR
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_CTR_DRBG_C">Marco <span>MBEDTLS_CTR_DRBG_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_CTR_DRBG_C
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_ENTROPY_C">Marco <span>MBEDTLS_ENTROPY_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_ENTROPY_C
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_PK_WRITE_C">Marco <span>MBEDTLS_PK_WRITE_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_PK_WRITE_C
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_PEM_PARSE_C">Marco <span>MBEDTLS_PEM_PARSE_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_PEM_PARSE_C
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED">Marco <span>MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
</code></pre>
      <pre class="doc-comment">//#	define MBEDTLS_ENTROPY_HARDWARE_ALT</pre>

      <h4 id="MBEDTLS_ASN1_WRITE_C">Marco <span>MBEDTLS_ASN1_WRITE_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_ASN1_WRITE_C
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_ECDSA_C">Marco <span>MBEDTLS_ECDSA_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_ECDSA_C
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_PLATFORM_MEMORY">Marco <span>MBEDTLS_PLATFORM_MEMORY</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_PLATFORM_MEMORY
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_PLATFORM_MEMORY
 *
 * Enable the memory allocation layer.
 *
 * By default mbed TLS uses the system-provided calloc() and free().
 * This allows different allocators (self-implemented or provided) to be
 * provided to the platform abstraction layer.
 *
 * Enabling MBEDTLS_PLATFORM_MEMORY without the
 * MBEDTLS_PLATFORM_{FREE,CALLOC}_MACROs will provide
 * "mbedtls_platform_set_calloc_free()" allowing you to set an alternative calloc() and
 * free() function pointer at runtime.
 *
 * Enabling MBEDTLS_PLATFORM_MEMORY and specifying
 * MBEDTLS_PLATFORM_{CALLOC,FREE}_MACROs will allow you to specify the
 * alternate function at compile time.
 *
 * Requires: MBEDTLS_PLATFORM_C
 *
 * Enable this layer to allow use of alternative memory allocators.
 */</pre>

      <h4 id="MBEDTLS_DEPRECATED_WARNING">Marco <span>MBEDTLS_DEPRECATED_WARNING</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_DEPRECATED_WARNING
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_DEPRECATED_WARNING
 *
 * Mark deprecated functions so that they generate a warning if used.
 * Functions deprecated in one version will usually be removed in the next
 * version. You can enable this to help you prepare the transition to a new
 * major version by making sure your code is not using these functions.
 *
 * This only works with GCC and Clang. With other compilers, you may want to
 * use MBEDTLS_DEPRECATED_REMOVED
 *
 * Uncomment to get warnings on using deprecated functions.
 */</pre>

      <h4 id="MBEDTLS_AES_ROM_TABLES">Marco <span>MBEDTLS_AES_ROM_TABLES</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_AES_ROM_TABLES
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_AES_ROM_TABLES
 *
 * Use precomputed AES tables stored in ROM.
 *
 * Uncomment this macro to use precomputed AES tables stored in ROM.
 * Comment this macro to generate AES tables in RAM at runtime.
 *
 * Tradeoff: Using precomputed ROM tables reduces RAM usage by ~8kb
 * (or ~2kb if \c MBEDTLS_AES_FEWER_TABLES is used) and reduces the
 * initialization time before the first AES operation can be performed.
 * It comes at the cost of additional ~8kb ROM use (resp. ~2kb if \c
 * MBEDTLS_AES_FEWER_TABLES below is used), and potentially degraded
 * performance if ROM access is slower than RAM access.
 *
 * This option is independent of \c MBEDTLS_AES_FEWER_TABLES.
 *
 */</pre>

      <h4 id="MBEDTLS_AES_FEWER_TABLES">Marco <span>MBEDTLS_AES_FEWER_TABLES</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_AES_FEWER_TABLES
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_AES_FEWER_TABLES
 *
 * Use less ROM/RAM for AES tables.
 *
 * Uncommenting this macro omits 75% of the AES tables from
 * ROM / RAM (depending on the value of \c MBEDTLS_AES_ROM_TABLES)
 * by computing their values on the fly during operations
 * (the tables are entry-wise rotations of one another).
 *
 * Tradeoff: Uncommenting this reduces the RAM / ROM footprint
 * by ~6kb but at the cost of more arithmetic operations during
 * runtime. Specifically, one has to compare 4 accesses within
 * different tables to 4 accesses with additional arithmetic
 * operations within the same table. The performance gain/loss
 * depends on the system and memory details.
 *
 * This option is independent of \c MBEDTLS_AES_ROM_TABLES.
 *
 */</pre>

      <h4 id="MBEDTLS_CIPHER_MODE_CBC">Marco <span>MBEDTLS_CIPHER_MODE_CBC</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_CIPHER_MODE_CBC
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_CIPHER_MODE_CBC
 *
 * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
 */</pre>

      <h4 id="MBEDTLS_CIPHER_PADDING_PKCS7">Marco <span>MBEDTLS_CIPHER_PADDING_PKCS7</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_CIPHER_PADDING_PKCS7
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_CIPHER_PADDING_PKCS7
 *
 * MBEDTLS_CIPHER_PADDING_XXX: Uncomment or comment macros to add support for
 * specific padding modes in the cipher layer with cipher modes that support
 * padding (e.g. CBC)
 *
 * If you disable all padding modes, only full blocks can be used with CBC.
 *
 * Enable padding modes in the cipher layer.
 */</pre>

      <h4 id="MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS">Marco <span>MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN">Marco <span>MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_CIPHER_PADDING_ZEROS">Marco <span>MBEDTLS_CIPHER_PADDING_ZEROS</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_CIPHER_PADDING_ZEROS
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_REMOVE_ARC4_CIPHERSUITES">Marco <span>MBEDTLS_REMOVE_ARC4_CIPHERSUITES</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_REMOVE_ARC4_CIPHERSUITES
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_REMOVE_ARC4_CIPHERSUITES
 *
 * Remove RC4 ciphersuites by default in SSL / TLS.
 * This flag removes the ciphersuites based on RC4 from the default list as
 * returned by mbedtls_ssl_list_ciphersuites(). However, it is still possible to
 * enable (some of) them with mbedtls_ssl_conf_ciphersuites() by including them
 * explicitly.
 *
 * Uncomment this macro to remove RC4 ciphersuites by default.
 */</pre>

      <h4 id="MBEDTLS_ECP_DP_SECP256R1_ENABLED">Marco <span>MBEDTLS_ECP_DP_SECP256R1_ENABLED</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
</code></pre>
      <pre class="doc-comment">//#define MBEDTLS_ECP_DP_SECP224R1_ENABLED</pre>

      <h4 id="MBEDTLS_ECP_NIST_OPTIM">Marco <span>MBEDTLS_ECP_NIST_OPTIM</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_ECP_NIST_OPTIM
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_ECP_NIST_OPTIM
 *
 * Enable specific 'modulo p' routines for each NIST prime.
 * Depending on the prime and architecture, makes operations 4 to 8 times
 * faster on the corresponding curve.
 *
 * Comment this macro to disable NIST curves optimisation.
 */</pre>

      <h4 id="MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED">Marco <span>MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
 *
 * Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS.
 *
 * Requires: MBEDTLS_ECDH_C, MBEDTLS_RSA_C, MBEDTLS_PKCS1_V15,
 *           MBEDTLS_X509_CRT_PARSE_C
 *
 * This enables the following ciphersuites (if other requisites are
 * enabled as well):
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA
 */</pre>

      <h4 id="MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES">Marco <span>MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
 *
 * Do not add default entropy sources. These are the platform specific,
 * mbedtls_timing_hardclock and HAVEGE based poll functions.
 *
 * This is useful to have more control over the added entropy sources in an
 * application.
 *
 * Uncomment this macro to prevent loading of default entropy functions.
 */</pre>

      <h4 id="MBEDTLS_NO_PLATFORM_ENTROPY">Marco <span>MBEDTLS_NO_PLATFORM_ENTROPY</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_NO_PLATFORM_ENTROPY
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_NO_PLATFORM_ENTROPY
 *
 * Do not use built-in platform entropy functions.
 * This is useful if your platform does not support
 * standards like the /dev/urandom or Windows CryptoAPI.
 *
 * Uncomment this macro to disable the built-in platform entropy functions.
 */</pre>

      <h4 id="MBEDTLS_PKCS1_V15">Marco <span>MBEDTLS_PKCS1_V15</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_PKCS1_V15
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_PKCS1_V15
 *
 * Enable support for PKCS#1 v1.5 encoding.
 *
 * Requires: MBEDTLS_RSA_C
 *
 * This enables support for PKCS#1 v1.5 operations.
 */</pre>

      <h4 id="MBEDTLS_PKCS1_V21">Marco <span>MBEDTLS_PKCS1_V21</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_PKCS1_V21
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_PKCS1_V21
 *
 * Enable support for PKCS#1 v2.1 encoding.
 *
 * Requires: MBEDTLS_MD_C, MBEDTLS_RSA_C
 *
 * This enables support for RSAES-OAEP and RSASSA-PSS operations.
 */</pre>

      <h4 id="MBEDTLS_SSL_ALL_ALERT_MESSAGES">Marco <span>MBEDTLS_SSL_ALL_ALERT_MESSAGES</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_SSL_ALL_ALERT_MESSAGES
 *
 * Enable sending of alert messages in case of encountered errors as per RFC.
 * If you choose not to send the alert messages, mbed TLS can still communicate
 * with other servers, only debugging of failures is harder.
 *
 * The advantage of not sending alert messages, is that no information is given
 * about reasons for failures thus preventing adversaries of gaining intel.
 *
 * Enable sending of all alert messages
 */</pre>

      <h4 id="MBEDTLS_SSL_ENCRYPT_THEN_MAC">Marco <span>MBEDTLS_SSL_ENCRYPT_THEN_MAC</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
</code></pre>
      <pre class="doc-comment">/** \def MBEDTLS_SSL_ENCRYPT_THEN_MAC
 *
 * Enable support for Encrypt-then-MAC, RFC 7366.
 *
 * This allows peers that both support it to use a more robust protection for
 * ciphersuites using CBC, providing deep resistance against timing attacks
 * on the padding or underlying cipher.
 *
 * This only affects CBC ciphersuites, and is useless if none is defined.
 *
 * Requires: MBEDTLS_SSL_PROTO_TLS1    or
 *           MBEDTLS_SSL_PROTO_TLS1_1  or
 *           MBEDTLS_SSL_PROTO_TLS1_2
 *
 * Comment this macro to disable support for Encrypt-then-MAC
 */</pre>

      <h4 id="MBEDTLS_SSL_EXTENDED_MASTER_SECRET">Marco <span>MBEDTLS_SSL_EXTENDED_MASTER_SECRET</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
</code></pre>
      <pre class="doc-comment">/** \def MBEDTLS_SSL_EXTENDED_MASTER_SECRET
 *
 * Enable support for Extended Master Secret, aka Session Hash
 * (draft-ietf-tls-session-hash-02).
 *
 * This was introduced as "the proper fix" to the Triple Handshake familiy of
 * attacks, but it is recommended to always use it (even if you disable
 * renegotiation), since it actually fixes a more fundamental issue in the
 * original SSL/TLS design, and has implications beyond Triple Handshake.
 *
 * Requires: MBEDTLS_SSL_PROTO_TLS1    or
 *           MBEDTLS_SSL_PROTO_TLS1_1  or
 *           MBEDTLS_SSL_PROTO_TLS1_2
 *
 * Comment this macro to disable support for Extended Master Secret.
 */</pre>

      <h4 id="MBEDTLS_SSL_PROTO_TLS1_2">Marco <span>MBEDTLS_SSL_PROTO_TLS1_2</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SSL_PROTO_TLS1_2
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_SSL_PROTO_TLS1_2
 *
 * Enable support for TLS 1.2 (and DTLS 1.2 if DTLS is enabled).
 *
 * Requires: MBEDTLS_SHA1_C or MBEDTLS_SHA256_C or MBEDTLS_SHA512_C
 *           (Depends on ciphersuites)
 *
 * Comment this macro to disable support for TLS 1.2 / DTLS 1.2
 */</pre>

      <h4 id="MBEDTLS_SSL_SESSION_TICKETS">Marco <span>MBEDTLS_SSL_SESSION_TICKETS</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SSL_SESSION_TICKETS
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_SSL_SERVER_NAME_INDICATION">Marco <span>MBEDTLS_SSL_SERVER_NAME_INDICATION</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SSL_SERVER_NAME_INDICATION
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_SSL_SERVER_NAME_INDICATION
 *
 * Enable support for RFC 6066 server name indication (SNI) in SSL.
 *
 * Requires: MBEDTLS_X509_CRT_PARSE_C
 *
 * Comment this macro to disable support for server name indication in SSL
 */</pre>

      <h4 id="MBEDTLS_X509_CHECK_KEY_USAGE">Marco <span>MBEDTLS_X509_CHECK_KEY_USAGE</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_X509_CHECK_KEY_USAGE
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_X509_CHECK_KEY_USAGE
 *
 * Enable verification of the keyUsage extension (CA and leaf certificates).
 *
 * Disabling this avoids problems with mis-issued and/or misused
 * (intermediate) CA and leaf certificates.
 *
 * \warning Depending on your PKI use, disabling this can be a security risk!
 *
 * Comment to skip keyUsage checking for both CA and leaf certificates.
 */</pre>

      <h4 id="MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE">Marco <span>MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE
 *
 * Enable verification of the extendedKeyUsage extension (leaf certificates).
 *
 * Disabling this avoids problems with mis-issued and/or misused certificates.
 *
 * \warning Depending on your PKI use, disabling this can be a security risk!
 *
 * Comment to skip extendedKeyUsage checking for certificates.
 */</pre>

      <h4 id="MBEDTLS_X509_RSASSA_PSS_SUPPORT">Marco <span>MBEDTLS_X509_RSASSA_PSS_SUPPORT</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_X509_RSASSA_PSS_SUPPORT
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_X509_RSASSA_PSS_SUPPORT
 *
 * Enable parsing and verification of X.509 certificates, CRLs and CSRS
 * signed with RSASSA-PSS (aka PKCS#1 v2.1).
 *
 * Comment this macro to disallow using RSASSA-PSS in certificates.
 */</pre>

      <h4 id="MBEDTLS_AES_C">Marco <span>MBEDTLS_AES_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_AES_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_AES_C
 *
 * Enable the AES block cipher.
 *
 * Module:  library/aes.c
 * Caller:  library/cipher.c
 *          library/pem.c
 *          library/ctr_drbg.c
 *
 * This module enables the following ciphersuites (if other requisites are
 * enabled as well):
 *      MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
 *      MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
 *      MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
 *      MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
 *      MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
 *      MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
 *      MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
 *      MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
 *      MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
 *      MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
 *      MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
 *      MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
 *      MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
 *      MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
 *      MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
 *      MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
 *      MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA
 *      MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
 *      MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
 *      MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
 *      MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
 *      MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
 *      MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA
 *      MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384
 *      MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256
 *      MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256
 *      MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA
 *      MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
 *      MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
 *      MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
 *      MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA
 *      MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384
 *      MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384
 *      MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA
 *      MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256
 *      MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256
 *      MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA
 *
 * PEM_PARSE uses AES for decrypting encrypted keys.
 */</pre>

      <h4 id="MBEDTLS_ASN1_PARSE_C">Marco <span>MBEDTLS_ASN1_PARSE_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_ASN1_PARSE_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_ASN1_PARSE_C
 *
 * Enable the generic ASN1 parser.
 *
 * Module:  library/asn1.c
 * Caller:  library/x509.c
 *          library/dhm.c
 *          library/pkcs12.c
 *          library/pkcs5.c
 *          library/pkparse.c
 */</pre>

      <h4 id="MBEDTLS_BASE64_C">Marco <span>MBEDTLS_BASE64_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_BASE64_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_BASE64_C
 *
 * Enable the Base64 module.
 *
 * Module:  library/base64.c
 * Caller:  library/pem.c
 *
 * This module is required for PEM support (required by X.509).
 */</pre>

      <h4 id="MBEDTLS_BIGNUM_C">Marco <span>MBEDTLS_BIGNUM_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_BIGNUM_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_BIGNUM_C
 *
 * Enable the multi-precision integer library.
 *
 * Module:  library/bignum.c
 * Caller:  library/dhm.c
 *          library/ecp.c
 *          library/ecdsa.c
 *          library/rsa.c
 *          library/rsa_internal.c
 *          library/ssl_tls.c
 *
 * This module is required for RSA, DHM and ECC (ECDH, ECDSA) support.
 */</pre>

      <h4 id="MBEDTLS_CCM_C">Marco <span>MBEDTLS_CCM_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_CCM_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_CCM_C
 *
 * Enable the Counter with CBC-MAC (CCM) mode for 128-bit block cipher.
 *
 * Module:  library/ccm.c
 *
 * Requires: MBEDTLS_AES_C or MBEDTLS_CAMELLIA_C
 *
 * This module enables the AES-CCM ciphersuites, if other requisites are
 * enabled as well.
 */</pre>

      <h4 id="MBEDTLS_CIPHER_C">Marco <span>MBEDTLS_CIPHER_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_CIPHER_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_CIPHER_C
 *
 * Enable the generic cipher layer.
 *
 * Module:  library/cipher.c
 * Caller:  library/ssl_tls.c
 *
 * Uncomment to enable generic cipher wrappers.
 */</pre>

      <h4 id="MBEDTLS_ECDH_C">Marco <span>MBEDTLS_ECDH_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_ECDH_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_ECDH_C
 *
 * Enable the elliptic curve Diffie-Hellman library.
 *
 * Module:  library/ecdh.c
 * Caller:  library/ssl_cli.c
 *          library/ssl_srv.c
 *
 * This module is used by the following key exchanges:
 *      ECDHE-ECDSA, ECDHE-RSA, DHE-PSK
 *
 * Requires: MBEDTLS_ECP_C
 */</pre>

      <h4 id="MBEDTLS_ECP_C">Marco <span>MBEDTLS_ECP_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_ECP_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_ECP_C
 *
 * Enable the elliptic curve over GF(p) library.
 *
 * Module:  library/ecp.c
 * Caller:  library/ecdh.c
 *          library/ecdsa.c
 *          library/ecjpake.c
 *
 * Requires: MBEDTLS_BIGNUM_C and at least one MBEDTLS_ECP_DP_XXX_ENABLED
 */</pre>

      <h4 id="MBEDTLS_GCM_C">Marco <span>MBEDTLS_GCM_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_GCM_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_GCM_C
 *
 * Enable the Galois/Counter Mode (GCM) for AES.
 *
 * Module:  library/gcm.c
 *
 * Requires: MBEDTLS_AES_C or MBEDTLS_CAMELLIA_C
 *
 * This module enables the AES-GCM and CAMELLIA-GCM ciphersuites, if other
 * requisites are enabled as well.
 */</pre>

      <h4 id="MBEDTLS_MD_C">Marco <span>MBEDTLS_MD_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_MD_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_MD_C
 *
 * Enable the generic message digest layer.
 *
 * Module:  library/md.c
 * Caller:
 *
 * Uncomment to enable generic message digest wrappers.
 */</pre>

      <h4 id="MBEDTLS_MD5_C">Marco <span>MBEDTLS_MD5_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_MD5_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_MD5_C
 *
 * Enable the MD5 hash algorithm.
 *
 * Module:  library/md5.c
 * Caller:  library/md.c
 *          library/pem.c
 *          library/ssl_tls.c
 *
 * This module is required for SSL/TLS up to version 1.1, and for TLS 1.2
 * depending on the handshake parameters. Further, it is used for checking
 * MD5-signed certificates, and for PBKDF1 when decrypting PEM-encoded
 * encrypted keys.
 *
 * \warning   MD5 is considered a weak message digest and its use constitutes a
 *            security risk. If possible, we recommend avoiding dependencies on
 *            it, and considering stronger message digests instead.
 *
 */</pre>

      <h4 id="MBEDTLS_OID_C">Marco <span>MBEDTLS_OID_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_OID_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_OID_C
 *
 * Enable the OID database.
 *
 * Module:  library/oid.c
 * Caller:  library/asn1write.c
 *          library/pkcs5.c
 *          library/pkparse.c
 *          library/pkwrite.c
 *          library/rsa.c
 *          library/x509.c
 *          library/x509_create.c
 *          library/x509_crl.c
 *          library/x509_crt.c
 *          library/x509_csr.c
 *          library/x509write_crt.c
 *          library/x509write_csr.c
 *
 * This modules translates between OIDs and internal values.
 */</pre>

      <h4 id="MBEDTLS_PK_C">Marco <span>MBEDTLS_PK_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_PK_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_PK_C
 *
 * Enable the generic public (asymetric) key layer.
 *
 * Module:  library/pk.c
 * Caller:  library/ssl_tls.c
 *          library/ssl_cli.c
 *          library/ssl_srv.c
 *
 * Requires: MBEDTLS_RSA_C or MBEDTLS_ECP_C
 *
 * Uncomment to enable generic public key wrappers.
 */</pre>

      <h4 id="MBEDTLS_PK_PARSE_C">Marco <span>MBEDTLS_PK_PARSE_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_PK_PARSE_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_PK_PARSE_C
 *
 * Enable the generic public (asymetric) key parser.
 *
 * Module:  library/pkparse.c
 * Caller:  library/x509_crt.c
 *          library/x509_csr.c
 *
 * Requires: MBEDTLS_PK_C
 *
 * Uncomment to enable generic public key parse functions.
 */</pre>

      <h4 id="MBEDTLS_PKCS5_C">Marco <span>MBEDTLS_PKCS5_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_PKCS5_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_PKCS5_C
 *
 * Enable PKCS#5 functions.
 *
 * Module:  library/pkcs5.c
 *
 * Requires: MBEDTLS_MD_C
 *
 * This module adds support for the PKCS#5 functions.
 */</pre>

      <h4 id="MBEDTLS_PKCS12_C">Marco <span>MBEDTLS_PKCS12_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_PKCS12_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_PKCS12_C
 *
 * Enable PKCS#12 PBE functions.
 * Adds algorithms for parsing PKCS#8 encrypted private keys
 *
 * Module:  library/pkcs12.c
 * Caller:  library/pkparse.c
 *
 * Requires: MBEDTLS_ASN1_PARSE_C, MBEDTLS_CIPHER_C, MBEDTLS_MD_C
 * Can use:  MBEDTLS_ARC4_C
 *
 * This module enables PKCS#12 functions.
 */</pre>

      <h4 id="MBEDTLS_PLATFORM_C">Marco <span>MBEDTLS_PLATFORM_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_PLATFORM_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_PLATFORM_C
 *
 * Enable the platform abstraction layer that allows you to re-assign
 * functions like calloc(), free(), snprintf(), printf(), fprintf(), exit().
 *
 * Enabling MBEDTLS_PLATFORM_C enables to use of MBEDTLS_PLATFORM_XXX_ALT
 * or MBEDTLS_PLATFORM_XXX_MACRO directives, allowing the functions mentioned
 * above to be specified at runtime or compile time respectively.
 *
 * \note This abstraction layer must be enabled on Windows (including MSYS2)
 * as other module rely on it for a fixed snprintf implementation.
 *
 * Module:  library/platform.c
 * Caller:  Most other .c files
 *
 * This module enables abstraction of common (libc) functions.
 */</pre>

      <h4 id="MBEDTLS_RSA_C">Marco <span>MBEDTLS_RSA_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_RSA_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_RSA_C
 *
 * Enable the RSA public-key cryptosystem.
 *
 * Module:  library/rsa.c
 *          library/rsa_internal.c
 * Caller:  library/ssl_cli.c
 *          library/ssl_srv.c
 *          library/ssl_tls.c
 *          library/x509.c
 *
 * This module is used by the following key exchanges:
 *      RSA, DHE-RSA, ECDHE-RSA, RSA-PSK
 *
 * Requires: MBEDTLS_BIGNUM_C, MBEDTLS_OID_C
 */</pre>

      <h4 id="MBEDTLS_SHA1_C">Marco <span>MBEDTLS_SHA1_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SHA1_C
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_SHA256_C">Marco <span>MBEDTLS_SHA256_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SHA256_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_SHA256_C
 *
 * Enable the SHA-224 and SHA-256 cryptographic hash algorithms.
 *
 * Module:  library/sha256.c
 * Caller:  library/entropy.c
 *          library/md.c
 *          library/ssl_cli.c
 *          library/ssl_srv.c
 *          library/ssl_tls.c
 *
 * This module adds support for SHA-224 and SHA-256.
 * This module is required for the SSL/TLS 1.2 PRF function.
 */</pre>

      <h4 id="MBEDTLS_SHA512_C">Marco <span>MBEDTLS_SHA512_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SHA512_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_SHA512_C
 *
 * Enable the SHA-384 and SHA-512 cryptographic hash algorithms.
 *
 * Module:  library/sha512.c
 * Caller:  library/entropy.c
 *          library/md.c
 *          library/ssl_cli.c
 *          library/ssl_srv.c
 *
 * This module adds support for SHA-384 and SHA-512.
 */</pre>

      <h4 id="MBEDTLS_SSL_CLI_C">Marco <span>MBEDTLS_SSL_CLI_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SSL_CLI_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_SSL_CLI_C
 *
 * Enable the SSL/TLS client code.
 *
 * Module:  library/ssl_cli.c
 * Caller:
 *
 * Requires: MBEDTLS_SSL_TLS_C
 *
 * This module is required for SSL/TLS client support.
 */</pre>

      <h4 id="MBEDTLS_SSL_TLS_C">Marco <span>MBEDTLS_SSL_TLS_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SSL_TLS_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_SSL_TLS_C
 *
 * Enable the generic SSL/TLS code.
 *
 * Module:  library/ssl_tls.c
 * Caller:  library/ssl_cli.c
 *          library/ssl_srv.c
 *
 * Requires: MBEDTLS_CIPHER_C, MBEDTLS_MD_C
 *           and at least one of the MBEDTLS_SSL_PROTO_XXX defines
 *
 * This module is required for SSL/TLS.
 */</pre>

      <h4 id="MBEDTLS_VERSION_C">Marco <span>MBEDTLS_VERSION_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_VERSION_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_VERSION_C
 *
 * Enable run-time version information.
 *
 * Module:  library/version.c
 *
 * This module provides run-time version information.
 */</pre>

      <h4 id="MBEDTLS_X509_USE_C">Marco <span>MBEDTLS_X509_USE_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_X509_USE_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_X509_USE_C
 *
 * Enable X.509 core for using certificates.
 *
 * Module:  library/x509.c
 * Caller:  library/x509_crl.c
 *          library/x509_crt.c
 *          library/x509_csr.c
 *
 * Requires: MBEDTLS_ASN1_PARSE_C, MBEDTLS_BIGNUM_C, MBEDTLS_OID_C,
 *           MBEDTLS_PK_PARSE_C
 *
 * This module is required for the X.509 parsing modules.
 */</pre>

      <h4 id="MBEDTLS_X509_CRT_PARSE_C">Marco <span>MBEDTLS_X509_CRT_PARSE_C</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_X509_CRT_PARSE_C
</code></pre>
      <pre class="doc-comment">/**
 * \def MBEDTLS_X509_CRT_PARSE_C
 *
 * Enable X.509 certificate parsing.
 *
 * Module:  library/x509_crt.c
 * Caller:  library/ssl_cli.c
 *          library/ssl_srv.c
 *          library/ssl_tls.c
 *
 * Requires: MBEDTLS_X509_USE_C
 *
 * This module is required for X.509 certificate parsing.
 */</pre>

      <h4 id="MBEDTLS_MPI_WINDOW_SIZE">Marco <span>MBEDTLS_MPI_WINDOW_SIZE</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_MPI_WINDOW_SIZE          1 /**< Maximum windows size used. */
</code></pre>
      <pre class="doc-comment">/* MPI / BIGNUM options */</pre>

      <h4 id="MBEDTLS_MPI_MAX_SIZE">Marco <span>MBEDTLS_MPI_MAX_SIZE</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_MPI_MAX_SIZE           256 /**< Maximum number of bytes for usable MPIs. */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_ECP_MAX_BITS">Marco <span>MBEDTLS_ECP_MAX_BITS</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_ECP_MAX_BITS            256 /**< Maximum bit size of groups */
</code></pre>
      <pre class="doc-comment">/* ECP options */</pre>

      <h4 id="MBEDTLS_SSL_MAX_CONTENT_LEN">Marco <span>MBEDTLS_SSL_MAX_CONTENT_LEN</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SSL_MAX_CONTENT_LEN            5200 /**< Maxium fragment length in bytes, determines the size of each of the two internal I/O buffers */
</code></pre>
      <pre class="doc-comment"></pre>

      <h4 id="MBEDTLS_SSL_MAX_CONTENT_LEN">Marco <span>MBEDTLS_SSL_MAX_CONTENT_LEN</span></h4>
      <pre class="doc-declare"><code>#define MBEDTLS_SSL_MAX_CONTENT_LEN            16384
</code></pre>
      <pre class="doc-comment"></pre>
      <h3 id="functions">Functions</h3>
      
      <h3 id="vars">Vars</h3>
      
      <h3 id="consts">Consts</h3>
      
      <h3 id="types">Types</h3>
      
      <h3 id="typedefs">Typedefs</h3>
      
    </div>
  </body>
</html>
            